package yl.hs.bmipfull.pojo.production;

import lombok.Data;
import org.springframework.lang.Nullable;
import yl.hs.bmipfull.annotations.DBField;
import yl.hs.bmipfull.annotations.DBTable;
import yl.hs.bmipfull.pojo.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
* 作用:  生产任务表实体类<br/>
* 创建时间: 2021年05月26日 11时23分11秒 <br/>
* @author 张凯
*/
@DBTable(disName = "生产任务表", mapCode = "production_task")
@Data
public class ProductionTaskEntity extends BaseEntity{

    /**
    * 主键
    */
        @Nullable
    private Long id;
    /**
    * 编号
    */
    @DBField(disName = "生产任务表编号",mapCode = "sn", isSerialNumber = true,isRequire = true,snPrefix = "SCRW",isExport = true)
    private String sn;
    /**
    * 生产任务类型
    */
    @DBField(disName = "生产任务类型",mapCode = "taskType",isExport = true)
    private Short taskType;
    /**
    * 客户名称
    */
    @DBField(disName = "客户名称",mapCode = "customName",isExport = true)
    private String customName;
    /**
    * 客户名称拼音
    */

    private String customNamePY;
    /**
    * 工地名称
    */
    @DBField(disName = "工地名称",isExport = true)
    private String projectName;
    /**
    * 工地名称拼音
    */
    private String projectNamePY;
    /**
    * 工地地址
    */
    @DBField(disName = "工地地址",isExport = true)
    private String projectAddr;
    /**
    * 工地地址拼音
    */
    private String projectAddrPY;
    /**
    * 施工位置
    */
    @DBField(disName = "施工位置",isExport = true)
    private String position;
    /**
    * 施工位置拼音
    */
    private String positionPY;
    /**
    * 销售姓名
    */
    @DBField(disName = "销售姓名",isExport = true)
    private String salerName;
    /**
    * 销售姓名拼音
    */
    private String salerNamePY;
    /**
    * 销售电话
    */
    @DBField(disName = "销售电话",isExport = true)
    private String salerPhone;
    /**
     * 工地联系人编号
     */
    @DBField(disName = "工地联系人编号",isExport = true)
    private String projectLinkerSN;
    /**
    * 工地联系人
    */
    @DBField(disName = "工地联系人",isExport = true)
    private String projectLinker;
    /**
    * 工地联系人拼音
    */

    private String projectLinkerPY;
    /**
    * 工地联系电话
    */
    @DBField(disName = "工地联系电话",isExport = true)
    private String projectPhone;
    /**
    * 前场工长
    */
    @DBField(disName = "前场工长",isExport = true)
    private String onsiteManager;

    private String productCateSN;


    @DBField(disName = "产品类别",isExport = true)
    private String productCateName;

    /**
    * 产品编号
    */
    private String productSN;
    /**
    * 产品名称
    */
    @DBField(disName = "产品名称",isExport = true)
    private String productName;
    /**
    * 产品名称拼音
    */
    private String productNamePY;
    /**
    * 产品规格
    */
    @DBField(disName = "产品规格",isExport = true)
    private String productSpec;

    @DBField(disName = "生产参数",isExport = true)
    private String productionParam;
    /**
    * 生产数量
    */
    @DBField(disName = "生产数量",isExport = true)
    private BigDecimal quantity;
    /**
    * 产品容重
    */
    @DBField(disName = "产品容重",isExport = true)
    private BigDecimal density;
    /**
    * 包装方式
    */
    @DBField(disName = "包装方式")
    private String packageWay;
    /**
    * 包装重量
    */
    @DBField(disName = "包装重量")
    private BigDecimal packageWeight;
    /**
    * 包装单位
    */
    @DBField(disName = "包装单位")
    private String packUnit;
    /**
    * 发货时间
    */
    @DBField(disName = "发货时间",mapCode = "deliveryTime")
    private Date deliveryTime;
    /**
    * 销售合同编号
    */
    @DBField(disName = "销售合同编号")
    private String contractSN;
    /**
    * 生产任务状态
    */
    private Short state;
    /**
     * 是否留样
     */
    @DBField(disName = "是否留样")
    private boolean retentionSample;


    /**
     * 虚拟量
     */
    @DBField(disName = "虚方量")
    private BigDecimal virtualQuantity;


    @DBField(disName = "配比设置状态")
    private boolean configState;
    /**
    * 组织代码
    */
    private String organizationCode;
    /**
    * 备注
    */
    @DBField(disName = "备注")
    private String remark;
    /**
     * 超时时长
     */
    @DBField(disName = "超时时长")
    private BigDecimal timeoutDuration;

    /**
     * 是否已经写入主机
     */
    private boolean writeTask;
    /**
     * 是否已经出资料
     */
    private boolean generateTeport;

    /**
     * 票据产品名称
     */
    private String billProductName;
    /**
     * 票据产品规格
     */
    private String billProductSpec;
    /**
     * 票据产品编号
     */
    private String billProductSN;
    /**
     * 结算产品名称
     */
    private String accountProductName;
    /**
     * 结算产品规格
     */
    private String accountProductSpec;
    /**
     * 结算产品编号
     */
    private String accountProductSN;
}